package cn.tedu.oopenextends;

public class TestExtendsDemo {
    public static void main(String[] args) {
        //5.创建animal类，Cat和miaomiao类对象
        Animal a =new Animal();
        Cat c=new Cat();
        MiaoMiao m=new MiaoMiao();
        //6.利用 条用
        a.eat();
        c.eat();
        m.eat();
        /*3.继承具有传递性，爷爷功能传给爸爸，爸爸功能传给孙子*/

    }
}
//1.Grandpa
class Animal{
    public void eat(){
        System.out.println("小动物吃啥都行");
    }
}
//2.father
/*
*1.我们通过extends关键字建立子类和父类的继承关系 子类 extends 父类
* 2.java支支持单继承，一个子类只能有一个父类，但是一个父类可以有多个子类
* */
/*7继承是一种is a的关系，比如小猫是像动物，比如小猫是小动物，dingdang是猫
要求子类必须是父类的一种继承结构，依赖性非常强，强耦合（关联关系）
 */
class Cat extends Animal{
    //7.定义成员变量
    int a=10;
    private int b=100;
}
//3.1grandson
class DingDang extends Cat{
/*
    4.子类可以拥有自己独有的方法
*/
    public void studyJava(){
    /*5.子类在继承父类以后，相当于把父类的功能进行复制*/
        System.out.println(a);
    /*6父类私有资源子类不可以使用，原因是私有资源不可见*/
//        System.out.println(b);
    }
}
//3.2创建孙子类miaomiao
class MiaoMiao extends Cat{

}